草庐IT

c++ - gcc 和 libstdc++ 向前兼容

全部标签

c - Windows 上的 gcc 生成垃圾? Windows 与 Linux

我想找出为什么在Windows中对同一程序的指令比在Linux中多得多。所以我只用了inta=0xbeef;和printf("test\n");在C中并在Linux和Windows中编译。当我调试和反汇编主机时,我得到了这个:在Linux上:0x080483e4:push%ebp0x080483e5:mov%esp,%ebp0x080483e7:and$0xfffffff0,%esp0x080483ea:sub$0x20,%esp0x080483ed:movl$0xbeef,0x1c(%esp)0x080483f5:movl$0x80484d0,(%esp)0x080483fc:cal

c++ - _WIN32_WINNT 定义在 header 中更改,这是否会导致二进制不兼容?

在VS2010中,我正在努力将应用程序更新到第三方库的新版本,该库要求_WIN32_WINNT至少为0x501,但另一个提供二进制共享库的第三方共享库在header中将其定义为0x500包含在应用程序中。如果修改了,是否会出现二进制不兼容或者这是一个无关紧要的更改?我是否必须从将其定义为0x500的库中请求新的二进制文件?我不确定如何判断这是否需要新的bin——我认为如果任何类/结构的大小或命名发生变化,或者任何方法/函数签名发生变化,则需要进行新的编译。 最佳答案 简短的回答:可能不会,但如果是的话,那你就进退两难了。长答案:_W

c# - 绕过 Windows 兼容性链接目录

Windows7中有许多目录具有古代名称且无法访问。我指的是像“C:\DocumentsandSettings”和“C:\DokumenteundEinstellungen”这样的目录,其中真正的文件夹是“C:\Users”。另一个是本地化系统上的“C:\Programme”。当使用Directory.GetDirectories迭代所有目录但无法访问时,这些目录会出现。尝试访问它们时,将抛出UnauthorizedAccessException。我可以捕捉到它,但它会导致额外的时间,从而减慢我的扫描速度。我宁愿避免首先查看那些假目录。(我想知道为什么它们在那里,我是否可以删除它们,但

c - Linux (gcc) 和 Windows (mingw32 gcc) 之间具有不同位域的结构大小

类似的问题,但特定于打包结构:WhywouldthesizeofapackedstructurebedifferentonLinuxandWindowswhenusinggcc?我正在为Linux和Windows构建一个共享库,它需要通过网络连接处理结构良好的数据。我在Linux上使用gcc4.8.2,并使用i686-pc-mingw32-gcc4.8.1为Windows目标交叉编译。我制作了这个小程序来演示这个问题(请注意GCC属性已被注释掉,保留它们以供引用):#include#include#includetypedefuint16_tword_t;typedefenum//__

r - win-builder 找不到 gcc

我构建了一个包含C/C++代码的R包。我现在正在尝试在win-builder上测试这个包.不幸的是,在00install.out中返回了以下错误:*installing*source*package'mypackage'...**libsrunning'src/Makefile.win'.../usr/bin/make--directory=lib/mylib/gcc-g-Wall-fPIC-cmycode.cmake[1]:gcc:Commandnotfoundmake[1]:***[mycode.o]Error127make:***[mylib]Error2Warning:runn

windows - 发布管理客户端与 tfs 2018 的兼容性

有人可以告诉发布管理(客户端/服务器模型)胖客户端是否与TFS2018兼容我们正在使用Releasemanagement2015富客户端和tfs2015并计划升级到TFS2018,并想检查这是否兼容 最佳答案 ReleaseManagementServer已弃用。自TFS2015以来,它没有收到更新,以后也不会收到更新。自TFS2015更新2以来,发布管理功能已集成到TeamFoundationServer(TFS)和VSTS的构建和发布中心中。较新的基于Web的版本是服务器和客户端版本的推荐替代方案。简而言之,是的,您仍然可以将R

linux - Cassandra:Linux 和 Windows 兼容吗?

目前,我在Windows7系统上使用Cassandra数据库。我们现在想在Linux上使用Cassandra,想知道是否可以使用数据目录的简单副本将数据从Windows迁移到Linux?谁能告诉我这是否可能,也就是说文件系统上的Windows数据结构和Linux文件结构是否兼容?如果不是,将key空间或整个数据库从Windows迁移到Linux的最佳方法是什么? 最佳答案 存储格式在windows和linux之间没有变化,理论上复制sstables应该可以,但不测试它将是一个悲剧性的错误,因为我不知道以前是否有人做过。彻底测试一下!

c - Malloc 在一些调用后不工作(C,在 Windows 10 上用 gcc 为 MinGW-W64 编译)

我需要测试我的项目在Windows上的性能。我有一个数组数组rede_conexoes,并在一个循环中分配每个位置,但经过一些迭代后,malloc函数不起作用,并且在我可以之前突然停止我的进程甚至测试返回值也没有显示错误信息。该代码在Windows10的WSL(适用于Linux的Windows子系统)上运行良好。为了在Windows上本地测试代码,我为gcc编译器安装了Mingw-w64(找不到更好的解决方案,因为支持需要OpenMP)。下面是带有malloc函数的片段:bool**rede_conexoes=(bool**)malloc(num_PL*sizeof(bool*));.

windows - 移植 GCC 应用程序,Windows 光标停留在 IDC_APPSTARTING

我正在将一个应用程序(使用启动器stub)移植到Windows(使用MinGWGCC)。这是我将用作演示问题的引用的最小示例。#includeintmain(intargc,char*argv[]){chdir("C:\appdir");spawnl(P_WAIT,"C:\appdir\app.exe","C:\appdir\app.exe",NULL);return0;}这个启动器stub编译如下:gcc-O3-olauncher.o-clauncher.cgcc-mwindows-olauncher.exelauncher.o当launcher.exe运行时,它会正确执行app.e

windows - 是否有任何支持 GCC 插件的 mingw-w64 版本?

我一直在使用来自mingw-builds的版本在Windows上使用了很长时间,但我想尝试使用GCCplugins,mingw-builds项目不支持。所以我尝试搜索其他一些支持它的版本,但找不到。GCC的插件功能是否在Windows或其他系统上被根本破坏了?您知道是否有人使用插件支持(--enable-plugin)构建mingw-w64?我认为像gcc-melt或gcc-python-plugin这样的东西在Windows上也会非常有趣。PS:不,我真的不想自己构建它,谢谢! 最佳答案 MinGW-w64build,支持插件,可